System and method for coupling a wireless device to social networking services and a mobile communication device

ABSTRACT

A system enables digital appliances to couple to third party application services directly. The system includes a device regulation/support site configured to generate a script program and a data template, and a digital appliance that selectively couples to the device regulation/support site and receives the script program and data template from the device regulation/support site, the digital appliance executes the script program with reference to the data template to couple directly to a third party application service and query the third party application service for data.

PRIORITY CLAIM

The present application claims priority to earlier filed U.S.provisional application No. 61/179,506 entitled “System And Method ForCoupling A Wireless Device To Social Networking Services And A MobileCommunication Device” and filed on May 19, 2009.

TECHNICAL FIELD

This invention relates to data communications and, more particularly, todata communication between wireless devices and third party applicationservices.

BACKGROUND

Social networking services, such as MySpace and Facebook, are thirdparty application services that enable users to communicate with oneanother and share information, such as multimedia, music, digitalimages, and the like. Online photo services, such as Flickr, Picasa, andPhotobucket, are commonly used by users who upload their digitalpictures to them so that they can view the pictures and share them withfriends and families. Some online photo services also enable people toshare their photos with other users of the same service in a similarfashion to the popular social networking services previously noted.

To avoid lengthy cables in a home or small office environment, many ofthese locations use wireless routers to communicate wirelessly withcomputers located in the home or office. The wireless router enables thecomputers wirelessly coupled to it to access the Internet. By using aWi-Fi router, computers in the home or office are coupled together in aLAN without requiring cables to be coupled between the computers and therouter for communication purposes. Wi-Fi routers include a wirelesstransceiver and computer that typically implement the 802.11b, 802.11a,802.11g, 802.11n, or some other known wireless communication standardthat supports Internet or other wide area network communications betweenthe devices coupled to the wireless LAN and those available through anISP. Expanded use of wireless networking in the home, coupled with thebroad availability of a variety of consumer media content in digitalform has resulted in an increasing number of consumer appliances beingoffered with standard or optional wireless networking capability. Suchappliances may include, for example, A/V receivers, digital pictureframes, Internet radios, network music players, and the like.

Currently, these devices may be coupled to social networking sitesthrough a device specific or a service specific server only. Forexample, a digital picture frame may couple to a digital picture frameserver. The digital picture frame server manages an account for adigital picture frame and enables a user to identify one or more sourcesfor pictures to be displayed on the registered frame. The source, forexample, may be identified as a particular person's photo album at aphoto service site, such as Flickr. Thereafter, the digital pictureframe server receives image updates from previously identified sourcesas those sources are changed and stores the pictures in a photo spacefor the digital frame at the server. When multiple sources have beenidentified for a digital frame, this photo space is an aggregation ofthese multiple sites so the digital frame does not have to query eachphoto or image service for pictures. Instead, the digital frame queriesthe digital picture frame server for the update photos that have beendownloaded to the digital frame's photo space. Once these update photoshave been received and stored in the digital frame, the frame commencesdisplay of the new images in the frame. A service specific serverenables a digital picture frame to couple to a service applicationexecuting on the server, such as Facebook, and receive images from allof the photo albums available at that site.

While the device specific server and the service specific server enabledigital picture frames to receive images from third party applicationservices, they suffer from a number of limitations. Among theselimitations is the ability to select specific content for a frame from aparticular service application. For example, a user having a Facebookaccount may store multiple photo albums at the user's site in Facebook.The content of some of the photo albums may be appropriate for displayat a frame located at one's home, but inappropriate for display at aframe located at business premises. Currently, the ability to specifywhich photo albums of a user or that user's friends at a socialnetworking site may be accessed for display is unavailable.Additionally, the ability to access multiple service application sitesdirectly is unavailable. Being able to access more sources directly andto enable the selective downloading of content from specific photoalbums are desirable.

Another limitation of current service servers is their dependency onspecial tags to identify content on the server site. When a user uploadscontent to the server site, the server enables the user to identify atag by which the content may be accessed. If a user does not label thephotos, albums, or other content with a tag, then the content does notappear on the devices that use the special user-defined tags to accessthe content. Consequently, a user is unable to search for the particularalbum, photo, or other content associated with an undefined user tag.

SUMMARY

A system enables digital appliances to couple to third party applicationservices directly. The system includes a device regulation/support siteconfigured to generate a script program and a data template, and adigital appliance that selectively couples to the deviceregulation/support site and receives the script program and datatemplate from the device regulation/support site, the digital applianceexecutes the script program with reference to the data template tocouple directly to a third party application service and query the thirdparty application service for data.

The system supports a method for enabling a digital appliance tocommunicate with a third party application service directly. The methodincludes selecting a script program at a device regulation/support site,generating a data template for the script program at the deviceregulation/support site, receiving the script program and data templateat a digital appliance, executing the script program with reference tothe data template at the digital appliance, coupling the digitalappliance executing the script program directly to a third partyapplication service, generating and sending with the digital appliance aquery for data from the third party application service, andtransmitting data from the third party application service to thedigital appliance in response to the query received from the scriptprogram executed by the digital appliance.

The system and method may be used to support a method for completing atransaction with a third party application service. The method includessending a query for data from a digital appliance to a third partyapplication service, displaying on the digital appliance data returnedfrom the third party application service in response to the query,generating and sending a transaction request to the third partyapplication service that corresponds to a portion of the displayed data,obtaining transaction data, generating a transaction identifier, sendingthe transaction identifier to a mobile telephone, and storing thetransaction identifier in the mobile telephone.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a system that enables a wireless digitalappliance to communicate with third party applications in accordancewith rules stored at a device regulation/support site.

FIG. 2 is an example display of a setup wizard used to obtainregistration data for a digital appliance.

FIG. 3 is an example display of a setup wizard used to obtain locationdata for a digital appliance.

FIG. 4 is an example display of a setup wizard used to obtain photosharing service data for a digital appliance.

FIG. 5 is an example display of a setup wizard used to obtain ancillaryservice data for a digital appliance.

FIG. 6 is an example display of a data object that enables a user tosend a message identifying a digital appliance to a mobile telephone forstorage in an address book.

FIG. 7 is an example display of a data object that enables selection ofparticular albums of a user and a user's friend at a third partyapplication service.

FIG. 8 is a general data model for information stored in theregulation/support site shown in FIG. 1.

FIG. 9 is a block diagram of system layers in a digital appliance inFIG. 1.

FIG. 10 is an overview of message pathways enabled by the system of FIG.1.

FIG. 11 is a flow diagram of a process enabled by a widget received fromthe regulation/support site of FIG. 1.

FIG. 12 is a flow diagram of an alternative process for selectivelyreceiving and storing digital content in the digital appliance using awireless wide area network.

DETAILED DESCRIPTION

A system that supports digital appliances and enables communicationbetween mobile devices, digital appliances, and applications servers isshown in FIG. 1. The system 10 includes a home location 14, a remotesite location 18, a device regulation/support site 20, an internetservice provider site 24, a SMS/MMS server 70, a cellular network 74,and mobile communication devices 80 ₁ and 80 ₂. The sites and locationsare coupled to one another through a computer network 28 and the SMS/MMSserver 70 couples the cellular network 74 and the mobile communicationdevices to the computer network 28. The computer network may be theInternet, the World Wide Web, WANs, LANs, and/or any other type orcombination of types of computer communication networks. The homelocation has a local area network (LAN) that may include a personalcomputer (PC) 30, a mobile computer communication device, such as aninstant messaging terminal 34, and a data receiving and displayingdevice, such as one or more LCD photo frames 32. These devicescommunicate with the ISP site 24 or the device regulation/support site20 through a wireless router 38. The wireless router may wirelesslycommunicate with the devices at the home site 14 in accordance with oneof the IEEE 802.11b, 802.11a, 802.11g, 802.11n, WiMax, or cellularnetwork standards, for example. Using the wireless router 38, the PC 30,photo frame 32, and IM device 34 may access the ISP site 24 and throughthe ISP site access the device regulation/support site 20.

The wireless router 38 implements a network access controller that usessmart filters to select the packets that are communicated through thewireless gateway. Typically, the wireless gateway is involved in userauthentication for regulating access to the network 28 coupled to thewireless router. The wireless router 38 may include or be coupled to anIP address allocation server. This server is sometimes known as aDynamic Host Configuration Protocol (DHCP) server. Its function is toassign IP addresses to the devices coupled to the router so they haveunique IP addresses for communication. The IP addresses most likelyassigned to the devices coupled to the wireless router are private IPaddresses. These private IP addresses are typically mapped to a singlepublic IP address by a network address/port translator that is acomponent of the wireless router 38. The network address/port translatoris able to determine the corresponding private IP address for messagesreceived from the network 28 that only have the public IP address.Alternatively, the wireless router 28 may use Media Access Controller(MAC) addresses of the devices coupled to it for identifying the devicescoupled to the wireless router. Photo frame 32 may operate in differentmodes based on the type of wireless router 38 that is available. Insituations where wireless router 38 is a wireless wide area network(WWAN) router, such as a cellular data network including 3G and 4Gconnectivity, photo frame 32 may limit available options for downloadingdata. Due to bandwidth and cost constraints, photo frame 32 may limitthe number of photographs that may be received via wireless router 38during a given time period. Additionally, high-bandwidth functionsincluding video streaming may be disabled while connected to a WWANnetwork. When photo frame 32 establishes a link with a higher bandwidthwireless local area network (WLAN), such as the 802.11 networksmentioned above, full functionality may be restored.

The remote site 18 includes a wireless access device 40 through whichanother wireless device 44, such as another LCD photo frame, may accessthe ISP site 24 and the device regulation/support site 20. The wirelessaccess device 40 may coupled more than one device at site 18 to thenetwork 28. As described in more detail below, a user may associatedevices at more than one site with the device controls store at site 20to push content to multiple sites.

The ISP site 24 includes an ISP host server 48. The ISP host server is agateway to ISP services and typically requires a computer userattempting to access the ISP services to identify an ISP user accountwith a username and password. Once the ISP host server confirms a useraccount exists with the ISP, the ISP server 48 enables communicationbetween devices, such as those at sites 14 and 18, and third partyapplication servers 50 ₁ to 50 _(n) coupled to the network 28. Thesethird party application servers include web page hosting, emailservices, search engines, IM messaging, social networking sites, and thelike. The servers and databases supporting these services may be coupledto the ISP host 48 through WANs, or LANs, including the Internet.

The device regulation/support site 20 has been developed to support andenable digital appliances, such as IM messaging terminals, digitalpicture frames, and the like. The device regulation/support site 20includes a device communication gateway 54 that communicates with adevice database 58, a profile server 60, and a device controls database64. The device regulation/support site 20 provides support services forcomputer network communication devices that have been registered withthe site. In order to provide these services, the regulation site 20includes identification data for the devices supported by the site.These identification data are supplied to the site by the manufacturersof the digital appliances (FIG. 10) and are stored in the devicedatabase 58. These identification data are unique for each device. Byallowing registration of only those devices made by particularmanufacturers, the operator of the regulation site is assured that thedevices have the requisite capabilities for the services supported bythe site. The profile server 60 enables users to select and customizedevice configurations that may be stored at the site by the profileserver 60. The device controls database 64 stores the controls and rulesselected or generated by an administrative user for a device registeredwith the regulation/support site 20. These are the rules and controlsapplied to communications made with a particular digital applianceregistered with the site 20. These rules and controls are referenced bya server at site 20 to evaluate communications received from digitalappliances controlled through site 20. Communications or deviceconfigurations identified in such communications are compared to theauthorized rules and configurations stored in database 64. Anynon-compliant communications or configurations are overruled by site 20and deleted from the non-complying device. Authorized rules appliedthrough site 20 may change in response to the type of network connectionestablished by a particular digital device. If the digital device iscommunicating via a WWAN network, then the types of digital content madeavailable to the device may be restricted. The same device may receivethe full array of approved digital content when it connects via a WLANnetwork. By applying the rules and controls to device communications,rather than account communications, the servers of site 20 in system 10reduce the risk that a user is able to access unauthorized contentthrough an alternative account without application of the rules andcontrols. As long as a user is using a device registered with the site20, the rules and controls are applied to communications from the deviceregardless of the user account or name through which the instantmessaging or communication service is being accessed.

The SMS/MMS server receives data messages that are generated in a eitherthe SMS or MMS server protocol. Digital appliances and the deviceregulation/support site 20 may generate textual data messages in a ShortMessage Service (SMS) server protocol for receipt by users having acellular telephone number as an address. The SMS server protocolmessages are sent to the SMS/MMS server. Using the cellular telephonenumber identified in the SMS server protocol message, the SMS servertransmits an SMS message over the cellular network to a mobilecommunication device in a known manner. In a similar manner, messageswith pictorial information are generated in a Multimedia Service (MMS)server protocol and communicated by the SMS/MMS server through thecellular network with mobile devices. The mobile network communicationdevices may use a standard SMS application program and processor in thedevice to generate a SMS or MMS message containing textual or pictorialdata, respectively, corresponding to a reply entered by the device user.This message is sent to the SMS/MMS server 70. The SMS/MMS servergenerates a data message in the SMS or MMS server protocol that includesthe reply data and transmits the data message over the computercommunication network 28 to the digital appliance that sent the SMS orMMS server protocol message. The digital appliance parses the datamessages received from the SMS/MMS server and evaluates them withreference to the downloaded rules. Thus, a user of a digital appliancecannot receive messages from a cellular telephone unless the cellulartelephone communicates with the SMS/MMS server to which the digitalappliance is coupled and unless no rule prevents the communication withthat particular cellular phone number.

More specific reference is now made to the structure and processes thatenable the device regulation/support site 20 to provide content to adigital picture frame in a novel manner. After a user has purchased adigital picture frame, the purchaser uses PC 30 to access the deviceregulation/support site 20 through an ISP. At the site 20, the purchaseractivates a setup wizard. In one embodiment, the setup wizard generatesa display such as the one shown in FIG. 2 to obtain registrationinformation from the purchaser. The “Frame Auth Code” is a string ofalphanumeric characters that the manufacturer associates with the frame.The purchaser enters this code, which uniquely identifies the frame,along with a user generated nickname for the frame. The user alsoidentifies data corresponding to an existing account with the site 20 orthat enables site 20 to generate an account for the user. The first userassociated with a frame is the administrator for the frame, who canenable/disable the features, services, and widgets associated with aframe. After site 20 confirms the existence of an account for the useror generates an account for the user, a second display is generated bythe embodiment. This display (FIG. 3) enables a user to enableinformation regarding the location for the digital frame. In thisembodiment, the location information is provided by the entry of a zipcode where the frame is located. The location information enables theframe to receive data to be displayed regarding local weather, events,and time. The setup wizard may then enable the frame user to identify adefault photo sharing service (FIG. 4). Ancillary services may also beselected, such as open network music stations (FIG. 5). The data enteredin the data objects associated with the displays in FIG. 2 through FIG.5 are stored in the profile database 60. These data are used to provideimage content to the frame.

Another display that enables a user to identify a source of pictures isshown in FIG. 6. This display may be generated by the setup wizard or itmay be an option that a user may select after a frame has been activatedand operated. This display includes data objects for obtaining a cellphone number for a mobile telephone from which the user desires toreceive images. In the display of FIG. 6, a data object is also providedto obtain data identifying the cell phone provider. In some embodiments,the cell phone service need not be entered by the user as the server(s)for the site 20 are able to identify the phone service from a query sentto a national registry. After this information is stored in the profiledatabase 60, the server(s) of site 20 generates a welcome text messagethat is sent via device communication gateway 54, network 28, SMS/MMSserver 70, and the cellular network 74 to the mobile phone associatedwith the cell number entered by the user in the display of FIG. 6. Thewelcome message identifies the frame with the nickname given by the userand invites the mobile phone user to store the address in the message inthe address book of the user's mobile phone. Thereafter, the mobilephone user can take a picture with the mobile phone camera, add acaption, if desired, and send it to the address stored in the addressbook of the mobile telephone. The picture is then sent as a text messagethrough the cellular network 74 and SMS/MMS server 70 to the publicaddress of the wireless router 38, which converts the public address tothe private address for the frame, and then to the frame for display.

In order to ensure the devices are operating and communicating inaccordance with the rules established for the devices, the site 20manages the devices registered with the site by assigning times for thedevices to communicate with the site 20. These times may be periodictimes, such as every five minutes, or a time for a next message may beassigned upon receipt of a message, such as a command to send site 20 amessage twenty minutes from the current time. These messages identifythe configuration of a device or the most recent or currentcommunications occurring or being attempted by the device. The site 20compares the configuration data and/or communication data to the devicecontrols stored in database 64. Any non-compliant configurations resultin site 20 sending command messages to the device to deletenon-conforming configuration elements or to add missing configurationelements Likewise, any unauthorized communications initiated orattempted by the device result in the site 20 commanding the device tocease the communication and deleting the content of the communication.As these communications are between the device and site 20 without userintervention, the device responds to the communications from site 20without the user being able to prevent execution of the commands. Inthis manner, an administrative user can configure rules in the devicecontrols database 64 that are imposed on the devices associated with theuser's account regardless of modifications attempted by the personentrusted with the device.

At any time after activation of a frame, a user may use a PC to returnto the site 20 to configure the frame further or to alter the settingsfor the frame. In one embodiment, a page called a dashboard is displayedupon confirmation of a user account with the site 20. The dashboarddisplays all of the digital appliances associated with a user account.The user may select a digital appliance for further configuration. Forexample, a user may select services to provide content to the appliance,identify a musical genre or specify internet radio stations for theappliance, alter the appliance name, or delete the appliance from theuser's account.

As shown in FIG. 7, selection of photo services enables a user to selectthe photo albums from which pictures are sent to the digital framecurrently selected for configuration. The selections are segregated intotwo groups: My Albums and My Friends' Albums. Under these two groupings,a listing of all albums available for selection is provided. By clickinga box adjacent an album, a user may select or deselect an album. Thealbum listing under My Friends identifies each friend and the albumsavailable from that friend. The identities of the friends were obtainedfrom the social network site in response to the user selecting thesocial network site as an authorized source for the digital frame. Theseidentities were then used by the servers of site 20 to locate andidentify the albums associated with each friend. The albums are notdownloaded to the site 20, instead, the information necessary to querythe social networking site for the albums is obtained by the site 20.The site 20 then generates an appropriate data template that is used bya scripting program, as described in more detail below, to communicatewith the social networking site. By clicking a box adjacent an album, auser may select specific albums for a friend. Thus, albums that may notbe appropriate for a frame located at a particular location can beavoided as sources for images, while a frame located in a moreappropriate space may have such albums selected as image sources.

As already noted, the site 20 does not download and store images at thesite 20. Instead, the servers of site 20 use script programs, which aresometimes called widgets and gadgets, to enable digital frames and otherdigital appliances to couple directly to social networking sites toobtain image data. The script programs for each type and/or model of adigital appliance are the same to facilitate the selection anddownloading of the programs to the devices. The data that enables theprograms to perform tasks for different devices differently is obtainedby the site 20 from the profile database 60 and the controls database 64and used to populate a data template that is downloaded to a device foruse during execution of the script program. To support this capability,a general data model, such as the one shown in FIG. 8, may be used. Auser 200 has a profile 204, which is stored in profile database 60. Asalready noted, a user 204 may have a plurality of digital appliances 208associated with the user. Each appliance has a unique identifierobtained from the appliance manufacturer, which is stored in devicedatabase 58. Each device has a plurality of settings 212, which are alsostored in the database 58. These settings identify the musical skins,internet radio stations, location of the appliance, and other datarelevant to the operation of the appliance and for updating the contentof the appliance. Each device 208 has one package 216 associated withthe device. The package 216 defines a group of scripting languageprograms that are related and dependent upon one another for operationparticular appliances. A package 216 has a plurality of scriptinglanguage programs or scripts 220. These scripts are programs thatsupport a third party service application or that operate as gadgets orwidgets to achieve particular functionality for a device.

In one embodiment, the scripts 220 are executed with data templates thatare implemented in the XML format. In response to device records beingreceived from a manufacturer for digital appliances recently produced,one or more servers of site 20 recognize the device group to which adigital appliance belongs and assign a package for that device group tothe device. This package includes keys for encrypting and decryptingmessage between the digital appliance and the servers of site 20. One ormore servers of site 20 also select a default set of scripts for thedevice that conform with the authorized activities for the device andthen appropriate data is used to populate the data templates to providea default set of device settings and services. Upon registration of thedigital appliance with the site 20, these default scripts and datatemplates are modified with additional scripts for new services or newsettings identified by a user or the default data templates may bemodified with parameters obtained from the digital applianceconfiguration data entered by a user. These scripts and data templatesare then downloaded to the digital appliance associated with aparticular package in the general data model. These scripts and datatemplates are stored in the digital appliance. At appropriate times, thescript programs are executed with reference to the data templatesperform functions for the device, such as updating content on theappliance from authorized service applications and/or generating reportsfor the site 20. These reports are used by the site 20 to verifycompliance with the rules and regulations for a device stored in thecontrols database 64.

The scripts and data templates downloaded for a digital appliance in oneembodiment enable the digital appliance to communicate with internetradio stations, third party applications, such as Facebook, MySpace,Photobucket, Flickr, Picasa, Snapfish, Zphoto, and weather data sources,and select appropriate and authorized content for the device.Additionally, the embodiment includes a gadget script and data template.The gadget script is a program that enables movie listing information tobe displayed and ticket transactions conducted and the data templateenables the gadget to obtain the listing information for theaters in thearea identified by the location data and to transact ticket sales formovie showings selected from the displayed listings with the user'sthird party account or profile data from the site 20. Other scripts thatthe servers of site 20 may send to a digital appliance in thisembodiment include scripts that generate usage reports and other dataregarding the sources accessed by the digital appliance.

The digital appliances are enabled for communication with the servers ofsite 20, the servers of third party applications, and other servers withthe system capabilities shown in FIG. 9. This system 300 provides agraphic user interface (GUI) layer 302, an application layer 304, aframework layer 308, an operating system layer 312, a base supportpackage (BSP) 316, hardware modules 320, and the appropriate supportintegrated circuits 324 for the appliance. The GUI layer 302 includes aGUI 326 that has a skin that can be configured by a user using thedashboard described previously. Additionally, a manufacturer may providespecific bit maps and related display elements 328 to site 20 that canbe downloaded for use by the system 300. The application layer 304includes a scripting engine 330 that executes the scripts downloadedfrom the site 20. A manager 334 for content administration is alsoprovided as well as a browser 338 for user communication with sites overthe Internet. The framework layer 308 includes a component 342 fordatabase operations, a component 346 for audio/visual contentmanagement, a component 350 for streaming content management, acomponent 354 for third party application management, a component 358for network communication management, an OAL component 362 forimplementing an operating system abstraction layer, and a component 366for external storage management. The OS layer 312 includes a component370 for communication with various operating systems. The OS layer 312,the framework layer 308, and the application layer 304 are all supportedby a portable graphics library 374.

With further reference to FIG. 9, the BSP layer 316 includes the mainprocessor and interface circuits 378, the device drivers 382, and otherrelated support circuits 386. Other hardware modules 320 include thecircuitry dedicated to platform operation such as IM messaging terminalcomponents 390, storage drives 394, and communication transceivers andtuners 398. The silicon layer 324 refers to other application specificintegrated circuits 400, such as digital signal processors, andperipheral hardware 404, such as audio encoder/decoders and videoencoder/decoders. As used herein, the term component refers to theprogramming instructions to implement a function, the circuit(s) thatembodies a function, or a combination of both programming instructionsand circuit(s). In a similar manner, the term “configuration” for adevice includes the software, script programs, data templates, andhardware components, or combinations thereof.

The functionality of a system having digital appliances enabled withsystem 300 and the servers of a site 20 is shown in FIG. 10. The system500 enables users 504 to communicate with the servers 508 of a devicesupport/regulation site to register and configure their digitalappliances 512. Manufacturers 516 of the digital appliances provideunique identifiers for the appliances. Additionally, the manufacturersare able to produce a common platform appliance and then specify theinterface characteristics or features for appliances sold or otherwisedistributed by particular sources 520. These feature sets are defined inpackages for devices and communicated by the manufacturers 516 to theservers 508. The servers 508 authenticate the selections andidentification of third party accounts with the third party applications530. Welcome messages for mobile phones are generated and sent to mobilephones 538 through an SMS/MMS interface 534 to enable the phone users tostore readily available and easily discernible addresses for sendingtext messages and images to appliances 512. In response to registrationand configuration of the appliances, the servers 508 generate anddownload scripts with data templates to the appliances 512. Execution ofthese scripts with reference to the appropriate data templates by thedigital appliances enables the appliances to communicate directly withthird party applications to obtain and update content from thesesources. Consequently, the servers at site 20 do not operate as abottleneck in the delivery of content to the appliances 512.

The system 500 enables widgets and gadgets to be selected and downloadedwith data templates by the servers 504 that enable a digital applianceto coordinate a variety of transactions. For example, a movie widget maybe selected by the servers 504 and downloaded with a data template to adigital appliance enabled by system 300 to enable the system 10 toperform the process shown in FIG. 11. In this example, a digital pictureframe receives the movie widget and data template. As the digitalpicture frame executes the movie widget script with reference to thedata template (block 600), the picture frame queries a third partyapplication site for movies showing at a theater identified by the datatemplate (block 604). The theater was previously selected by the userthrough the dashboard for the user's account. As the movies aredisplayed on the frame with the poster art (block 608), a user mayoperate the GUI of the picture frame to query for drill down data, whichin this case includes the show times for a particular movie (block 612).After viewing the returned data (block 616), the user selects a movieand show time by operating the GUI and the widget generates atransaction request for tickets to the selected showing (block 620). Thetransaction request may be sent to a third party application at whichthe user has an existing account or one that requires paymentinformation for the transaction. In the example being discussed, theticket transaction request may be sent to a third party ticketapplication, such as Fandango. This type of third party site requiresusers to have existing accounts for transactions and the data from suchan account to used to support the transaction (block 624). Other thirdparty sites may communicate with the servers 504 of site 20 to obtaincredit card information from the user's profile to pay for the requestedtickets (block 624). Either the third party application or the servers504 communicate with the movie widget script to confirm the ticketrequest (block 628) and, if confirmed (block 632), complete the paymenttransaction securely with the third party application (block 636). Atransaction identifier may be generated by third party application orthe servers 504 and the transaction identifier may be transmitted viathe SMS/MMS interface to the user's telephone identified in the user'sprofile (block 640). Additionally, a transaction record may be generatedthat is sent to the user's email account, which is also identified inthe user's profile (block 644). The user then goes to the theater anddisplays the transaction identifier with the user's mobile telephone toview the movie. If the transaction request is not confirmed by thewidget (block 632), the process terminates without a transaction beingconsummated. Other widgets are also supported by such a system. Forexample, a widget for a social networking site may generate updates forappointment changes for a group calendar kept by friends on such a site.

A process 1200 for selectively sending digital content to a digitaldevice such as photo frame 32 is depicted in FIG. 12. Process 1200selectively allows network communications between the digital device andone or more remote servers storing digital content. One networkconfiguration that may employ process 1200 includes a digital devicecommunicating with remote servers via a network that has restrictedbandwidth and is subject to heavy network congestion. Examples of suchnetworks include cellular data networks including 3G and 4G networks. Asdescribed above, the types of content sent to the digital device whileusing these networks may be restricted. Process 1200 describes a methodfor sending allowable digital content in a manner suited to networkssubject to bandwidth and congestion constraints.

Referring to FIG. 12, process 1200 begins with a digital device, such asphoto frame 32, querying a server for a time when the digital device maybegin downloading content data (block 1204). The server may be part ofregulation/support site 20. The server returns a time when the digitaldevice may begin receiving stored content, also known as a “callbacktime”. In the embodiment of FIG. 12, the time may be determined based onvarious factors, including the time of day in the time zone where thedigital device is active, the amount of time that has elapsed since thedigital device last received content, and predicted network congestionfor various times of the day based on network congestion measurements.In one embodiment, the server sets a callback time to a time predictedto have a lower level of network traffic congestion present on thewireless network being used to send digital content to the digitaldevice. The digital device waits for the appropriate callback time, andcontacts the server to begin downloading content (block 1208). Insituations where the digital device is set to download content that willexceed the available storage capacity in the device (block 1212), thedevice selectively deletes a portion of stored digital content inresponse to deletion instructions sent by the server (block 1216). Oncethe digital device has sufficient storage space to store new content,the digital device proceeds to download the content from the server(block 1220). The amount of digital content downloaded may be regulatedby the server to keep the amount of data traffic placed on the wirelessnetwork within a predetermined range. For example, each callback maylimit the amount of transferred data to a maximum transfer of 10megabytes for each scheduled callback, although the transfer limit maybe raised or lowered to accommodate various wireless networks. Uponreceiving new digital content, the digital device displays anotification that new content is ready for viewing (block 1224). Thisnotification may include an on-screen alert, or a notification sound maybe played to announce the availability of newly downloaded content. Thedigital device periodically requests updated content by requesting a newcallback time from the server in order to download new digital content(block 1204).

While the system and method for have been illustrated by the descriptionof exemplary processes and system components, and while the variousprocesses and components have been described in considerable detail,applicant does not intend to restrict or in any limit the scope of theappended claims to such detail. Additional advantages and modificationswill also readily appear to those skilled in the art. Therefore, thesystem and method described above in their broadest aspects are notlimited to the specific details, implementations, or illustrativeexamples shown and described. Accordingly, departures may be made fromsuch details without departing from the spirit or scope of applicant'sdisclosed system and method.

What is claimed is:
 1. A system for supporting digital appliancescomprising: a device regulation/support site configured to generate ascript program and a data template; and a digital appliance thatselectively couples to the device regulation/support site and receivesthe script program and data template from the device regulation/supportsite, the digital appliance executes the script program with referenceto the data template to couple directly to a third party applicationservice and query the third party application service for data.
 2. Thesystem of claim 1, the device regulation/support site being furtherconfigured to send a message having an address for the digital applianceto a mobile telephone to enable the mobile telephone to send data to thedigital appliance.
 3. The system of claim 1 wherein the digitalappliance is a digital picture frame.
 4. The system of claim 1 whereinthe digital appliance executing the script program with reference to thedata template couples directly to a social networking applicationservice.
 5. The system of claim 4 wherein the script program executed bythe digital appliance queries the social networking application servicefor updates to selected ones of a plurality of photo albums associatedwith a user and at least one friend for that user that are identified bythe data template.
 6. The system of claim 1 wherein the data template isimplemented in an XML format.
 7. The system of claim 1 wherein thedevice regulation/support site being further configured to select thescript program with reference to manufacturer data stored at the deviceregulation/support site.
 8. The system of claim 7, the manufacturer datacomprising: package data.
 9. A method for enabling a digital applianceto communicate with a third party application service comprising:selecting a script program at a device regulation/support site;generating a data template for the script program at the deviceregulation/support site; receiving the script program and data templateat a digital appliance; executing the script program with reference tothe data template at the digital appliance; coupling the digitalappliance executing the script program directly to a third partyapplication service; generating and sending with the digital appliance aquery for data from the third party application service; andtransmitting data from the third party application service to thedigital appliance in response to the query received from the scriptprogram executed by the digital appliance.
 10. The method of claim 9further comprising: sending a message having an address for the digitalappliance from the device regulation/support site to a mobile telephoneto enable the mobile telephone to send data to the digital appliance.11. The method of claim 9, the execution of the script program with thedigital appliance further comprising: executing the script program witha digital picture frame.
 12. The method of claim 9, the transmission ofthe data from the third party application service further comprising:transmitting data from a social networking application service to thedigital appliance.
 13. The method of claim 12 wherein the query sent tothe social networking application service requests updates to selectedones of a plurality of photo albums associated with a user and at leastone friend for that user that are identified by the data template. 14.The method of claim 9, the execution of the script program furthercomprising: executing the script program with reference to a datatemplate in an XML format.
 15. The method of claim 9, the selection ofthe script program with the device regulation/support site furthercomprising: selecting the script program with reference to manufacturerdata stored at the device regulation/support site.
 16. The method ofclaim 15, the selection of the script program with reference tomanufacturer data further comprising: selecting the script program withreference to package data received from a manufacturer.
 17. A method forperforming a transaction through a digital appliance coupled to a thirdparty application service comprising: sending a query for data from adigital appliance to a third party application service; displaying onthe digital appliance data returned from the third party applicationservice in response to the query; generating and sending a transactionrequest to the third party application service that corresponds to aportion of the displayed data; obtaining transaction data; generating atransaction identifier; sending the transaction identifier to a mobiletelephone; and storing the transaction identifier in the mobiletelephone.
 18. The method of claim 17, the sending of the transactionidentifier to the mobile telephone further comprising: sending thetransaction identifier to the mobile telephone through a short messageservice (SMS) interface.
 19. The method of claim 17 further comprising:sending a transaction record to an email account associated with thedigital appliance.
 20. The method of claim 17 wherein the data returnedfrom the third party application service is a movie listing, and thetransaction identifier identifies at least one movie ticket.